home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 November: Tool Chest / Dev.CD Nov 98 TC.toast / Sample Code / Snippets / Development Tools & Languages / DTSCPlusLibrary / Sources / GraphicsEnv.cp < prev    next >
Encoding:
Text File  |  1993-01-14  |  4.5 KB  |  173 lines  |  [TEXT/MPS ]

  1. /* _________________________________________________________________________________________________________ //
  2.   Copyright © 1993 Apple Computer, Inc. All rights reserved.
  3.   Macintosh Developer Technical Support.C++ Macintosh Toolbox Framework.
  4.   Programmer: Kent Sandvik
  5.   Date: 1/2/93
  6.   Revision comments are at the end of this file.
  7.   ---
  8.   GraphicsEnv is a collection of utility classes that could be used for defining grafport values
  9.   (font, pen drawing, color).    
  10.   GraphicsEnv.cp contains the graphics environment member functions. 
  11.   _________________________________________________________________________________________________________ */
  12.  
  13. #ifndef _GRAPHICSENV_
  14. #include "GraphicsEnv.h"
  15. #endif
  16.  
  17.  
  18. // _________________________________________________________________________________________________________ //
  19. //    TFontEnvironment member functions.
  20. // CONSTRUCTORS AND DESTRUCTORS
  21. #pragma segment GraphicsEnv
  22. TFontEnvironment::TFontEnvironment(short mode,
  23.                                    short fontNo,
  24.                                    short textSize,
  25.                                    Style newStyle)
  26. // Set font values in grafport, default values: system font, 12 point, plain text.
  27. {
  28.     fMode = mode;
  29.     fFont = fontNo;
  30.     fTextSize = textSize;
  31.     fStyle = newStyle;
  32. }
  33.  
  34.  
  35. #pragma segment GraphicsEnv
  36. TFontEnvironment::~TFontEnvironment()
  37. // Default constructor -- not used for the time being.
  38. {
  39. }
  40.  
  41.  
  42. // MAIN INTERFACE
  43. #pragma segment GraphicsEnv
  44. void TFontEnvironment::Set()
  45. // Set current grafport to defined values concerning fonts.
  46. {
  47.     ::TextMode(fMode);                            // set copy mode
  48.     ::TextFont(fFont);                            // set font in current GrafPort
  49.     ::TextSize(fTextSize);                        // set font size in current GrafPort
  50.     ::TextFace(fStyle);                            // set font style in current GrafPort
  51. }
  52.  
  53.  
  54. #pragma segment GraphicsEnv
  55. void TFontEnvironment::Reset()
  56. // Reset the grafport font information to default state.
  57. {
  58.     ::TextMode(srcOr);                            // reset copy mode
  59.     ::TextFont(0);                                // reset font in current GrafPort
  60.     ::TextSize(0);                                // reset font size in current GrafPort
  61.     ::TextFace(0);                                // reset font style in current GrafPort
  62. }
  63.  
  64.  
  65. // _________________________________________________________________________________________________________ //
  66. //    TPenEnvironment member functions.
  67. // CONSTRUCTORS AND DESTRUCTORS
  68. #pragma segment GraphicsEnv
  69. TPenEnvironment::TPenEnvironment(short mode,
  70.                                  Pattern penPattern,
  71.                                  short penWidth,
  72.                                  short penHigh)
  73. // Set the grafport pen values concerning pattern, mode and size.
  74. {
  75.     fMode = mode;
  76.     fPattern = &penPattern;
  77.     fWidth = penWidth;
  78.     fHigh = penHigh;
  79. }
  80.  
  81.  
  82. #pragma segment GraphicsEnv
  83. TPenEnvironment::~TPenEnvironment()
  84. // Default destructor -- not used for the time being.
  85. {
  86. }
  87.  
  88.  
  89. // MAIN INTERFACE
  90. #pragma segment GraphicsEnv
  91. void TPenEnvironment::Set()
  92. // Set pen values for graf port.
  93. {
  94.     ::PenMode(fMode);                            // set pattern transfer mode
  95.     ::PenPat(fPattern);                            // set pattern for pen
  96.     ::PenSize(fWidth, fHigh);                    // set pen size
  97. }
  98.  
  99.  
  100. #pragma segment GraphicsEnv
  101. void TPenEnvironment::Reset()
  102. // Reset pen values for graf port.
  103. {
  104.     ::PenMode(srcOr);                            // reset  pattern transfer mode
  105.     ::PenPat(&qd.black);                        // reset pen pattern
  106.     ::PenSize(1, 1);                            // reset pen size
  107. }
  108.  
  109.  
  110. // _________________________________________________________________________________________________________ //
  111. //    TColorEnvironment member functions.
  112. // CONSTRUCTORS AND DESTRUCTORS
  113. #pragma segment GraphicsEnv
  114. TColorEnvironment::TColorEnvironment(unsigned short red,
  115.                                      unsigned short green,
  116.                                      unsigned short blue)
  117. // Define colors for grafport.
  118. {
  119.     fColor.red = red;
  120.     fColor.green = green;
  121.     fColor.blue = blue;
  122. }
  123.  
  124.  
  125. #pragma segment GraphicsEnv
  126. TColorEnvironment::TColorEnvironment(RGBColor theColor)
  127. // Define RGBValues for grafport.
  128. {
  129.     fColor = theColor;                            // we make use of the bit-fied copying scheme of the compiler
  130. }
  131.  
  132.  
  133. #pragma segment GraphicsEnv
  134. TColorEnvironment::~TColorEnvironment()
  135. // Default destructor -- not used just now.
  136. {
  137. }
  138.  
  139.  
  140. // MAIN INTERFACE
  141. #pragma segment GraphicsEnv
  142. void TColorEnvironment::SetForeground()
  143. // Set foreground color.
  144. {
  145.     ::RGBForeColor(&fColor);
  146. }
  147.  
  148.  
  149. #pragma segment GraphicsEnv
  150. void TColorEnvironment::SetBackground()
  151. // Set background color.
  152. {
  153.     ::RGBBackColor(&fColor);
  154. }
  155.  
  156.  
  157. #pragma segment GraphicsEnv
  158. void TColorEnvironment::Reset()
  159. // Reset grafport to black/white.
  160. {
  161.     ::ForeColor(blackColor);
  162.     ::BackColor(whiteColor);
  163. }
  164.  
  165.  
  166. // _________________________________________________________________________________________________________ //
  167.  
  168. /*    Change History (most recent last):
  169.   No        Init.    Date        Comment
  170.   1            khs        1/2/93        New file
  171.   2            khs        1/7/93        Cleanup
  172. */
  173.